package com.example.project_01

import android.os.Bundle
import android.view.View
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat

class ButtonActivity : AppCompatActivity(), View.OnClickListener {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContentView(R.layout.activity_buttom)
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
            val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
            insets
        }


        // 方法二: 获取按钮,然后设置监听，通过id实现
        val btn = findViewById<View>(R.id.btn2)
        btn.setOnClickListener {
            Toast.makeText(this, "方法二", Toast.LENGTH_SHORT).show()
        }
        //方法三  让 Activity 或 Fragment 实现 OnClickListener，第一步：获取按钮设置监听
        val btn3 = findViewById<View>(R.id.btn3)
        btn3.setOnClickListener(this) // 设置监听器为当前 Activity
    }

    //方法一
    fun onBtnClick(view: View) {
        Toast.makeText(this, "方法一", Toast.LENGTH_SHORT).show()
    }

    //方法三  监听函数，当id正确的时候触发，设置触发时要做什么
    override fun onClick(v: View?) {
        // 需要通过 view.id 来区分不同的按钮。
        when (v?.id) {
            R.id.btn3 -> Toast.makeText(this, "方法三", Toast.LENGTH_SHORT).show()
        }
    }
}